/**
 * @project_name staff_vehicle
 * @package_name com.ssh.dao
 * @desc TODO
 * @param
 * @author jack
 * @date 2013-4-25
 * @time 下午6:38:16
 */
package com.ssh.dao;

import java.sql.Timestamp;
import java.util.List;

import com.ssh.entity.InnerVehicle;
import com.ssh.model.pdata.InnerVehicleUseInfo;

/**
 * @author jack
 * @desc 内部车辆管理DAO接口
 */
public interface InnerVehicleDAOI {
	public InnerVehicle add(InnerVehicle innerVehicle);
	public InnerVehicle edit(InnerVehicle innerVehicle);
	public InnerVehicle view(InnerVehicle innerVehicle);
	public InnerVehicle viewById(String  innerVehicleId);
	public List<InnerVehicle> viewByType(String  type);
	public List<InnerVehicle> viewByState(String  state);
	public List<InnerVehicle> viewVehicleList(String  param);
	public List<InnerVehicle> getAll();
	public List<InnerVehicle> viewVByStateType(String  state,String type);
	public int delete(InnerVehicle innerVehicle);
	public int deleteById(String innerVehicleId);
    /**	通过车辆等级查询可以使用的车辆*/
	public List<InnerVehicle> queryNUseByLevel(String  level);
	/**	更新车辆*/

	public InnerVehicle update(InnerVehicle innerVehicle);

	/**车辆使用信息查看*/
	public List<InnerVehicleUseInfo> queryVUseInfo(String vehicleId);
	/**车辆使用信息查看*/
	public List<InnerVehicleUseInfo> queryVUseInfo(Timestamp startTime,Timestamp endTime);
	/**
	 * @return
	 * @desc 查询出所有车辆使用信息
	 */
	public List<InnerVehicleUseInfo> queryAllVUseInfo();
	/**
	 * @param leavel
	 * @param state
	 * @return按车辆等级、状态查询
	 */
	public List<InnerVehicle> viewByLeavelState(String leavel, String state);
	/**
	 * @param time
	 * @return
	 */
	public List<InnerVehicleUseInfo> queryVUseInfo(Timestamp time);
}
